/**
 * @file STL_HttpRequest.h
 * @author Derek Liu (yjkhtddx@sina.com)
 * @brief 
 * @version 0.1
 * @date 2021-02-19
 * 
 * @copyright Copyright Sci-Tech Laboratories (c) 2021
 * 
 */

#ifndef __STL_HTTP_REQUEST_H__
#define __STL_HTTP_REQUEST_H__

#include <string>
#include <map>

namespace STL
{
    // Request-Line   = Method SP Request-URI SP HTTP-Version CRLF
    class STL_HttpRequest
    {
    public:
        STL_HttpRequest();
        ~STL_HttpRequest() = default;

    public:
        std::string m_method;
        std::string m_uri;
        std::string m_version;
        std::map<std::string, std::string> m_headers;
        std::string m_body;

    public: // m_uri
        std::string m_path;
        std::string m_parameter;
        std::string m_query;
        std::map<std::string, std::string> m_query_map;
        std::string m_fragment;
    };
}

#endif //__STL_HTTP_REQUEST_H__